#pragma once

#include <map>

namespace ParticleEngine
{
	class DescriptorTool;
	class DescriptorParticle;

	class DescriptorContainer
	{
	public:
		DescriptorContainer();
		const DescriptorTool* GetToolDescriptor(std::string Name);
		const DescriptorParticle* GetParticleDescriptor(std::string Name);

		std::map< std::string, const DescriptorParticle* > ParticleRegister;
		std::map< std::string, const DescriptorTool* > ToolRegister;

	private:
		void AddToRegister(const DescriptorParticle *NewDescriptor);
		void AddToRegister(const DescriptorTool *NewDescriptor);
	};
};